home *** CD-ROM | disk | FTP | other *** search
/ Maximum CD 1999 January / maximum-cd-1999-01.iso / Benchmarks / 12 Step / MusicMatch Jukebox / mmsetup.EXE / data1.cab / Help_Files / WebHelp.cab / sitemap / SiteMapParser.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-03-27  |  2.1 KB  |  115 lines

  1. package sitemap;
  2.  
  3. import java.io.InputStream;
  4. import java.util.Properties;
  5.  
  6. public class SiteMapParser extends Thread {
  7.    protected InputStream m_isInputStream;
  8.    protected Properties m_properties;
  9.    protected SiteMapParserOutput m_smpoOutput;
  10.  
  11.    public void parse() {
  12.       this.m_smpoOutput.start();
  13.  
  14.       try {
  15.          for(Tag var1 = Tag.readTag(this.m_isInputStream); !(var1 instanceof HtmlTag); var1 = Tag.readTag(this.m_isInputStream)) {
  16.          }
  17.  
  18.          for(Tag var6 = Tag.readTag(this.m_isInputStream); !(var6 instanceof HtmlEndTag); var6 = Tag.readTag(this.m_isInputStream)) {
  19.             if (var6 instanceof ObjectTag) {
  20.                if (((ObjectTag)var6).getType().equalsIgnoreCase("text/site properties")) {
  21.                   for(Tag var7 = Tag.readTag(this.m_isInputStream); !(var7 instanceof ObjectEndTag); var7 = Tag.readTag(this.m_isInputStream)) {
  22.                      if (var7 instanceof ParamTag) {
  23.                         try {
  24.                            this.m_smpoOutput.param(((ParamTag)var7).getName(), ((ParamTag)var7).getValue());
  25.                         } catch (NullPointerException var4) {
  26.                         }
  27.                      }
  28.                   }
  29.                } else {
  30.                   while(!(var6 instanceof ObjectEndTag)) {
  31.                      var6 = Tag.readTag(this.m_isInputStream);
  32.                   }
  33.                }
  34.             } else if (var6 instanceof UlTag) {
  35.                this.parseULTag();
  36.             }
  37.          }
  38.       } catch (TagInvalidException var5) {
  39.          ((Throwable)var5).printStackTrace();
  40.       }
  41.  
  42.       try {
  43.          this.m_isInputStream.close();
  44.       } catch (Exception var3) {
  45.       }
  46.  
  47.       this.m_smpoOutput.end();
  48.    }
  49.  
  50.    public Thread parseInSeparateThread() {
  51.       ((Thread)this).setPriority(4);
  52.       ((Thread)this).start();
  53.       return this;
  54.    }
  55.  
  56.    protected void parseULTag() throws TagInvalidException {
  57.       for(Tag var1 = Tag.readTag(this.m_isInputStream); !(var1 instanceof UlEndTag); var1 = Tag.readTag(this.m_isInputStream)) {
  58.          if (var1 instanceof LiTag) {
  59.             this.parseLiTag();
  60.          } else if (var1 instanceof UlTag) {
  61.             this.m_smpoOutput.indent(1);
  62.             this.parseULTag();
  63.             this.m_smpoOutput.indent(-1);
  64.          }
  65.       }
  66.  
  67.    }
  68.  
  69.    public void closeFiles() {
  70.       try {
  71.          this.m_isInputStream.close();
  72.       } catch (Exception var1) {
  73.       }
  74.    }
  75.  
  76.    protected void parseLiTag() throws TagInvalidException {
  77.       new Properties();
  78.       Tag var1 = Tag.readTag(this.m_isInputStream);
  79.       if (!(var1 instanceof ObjectTag)) {
  80.          if (var1 instanceof UlTag) {
  81.             this.m_smpoOutput.indent(1);
  82.             this.parseULTag();
  83.             this.m_smpoOutput.indent(-1);
  84.          }
  85.  
  86.       } else {
  87.          this.m_smpoOutput.object_start();
  88.          if (((ObjectTag)var1).getType().equalsIgnoreCase("text/sitemap")) {
  89.             for(Tag var2 = Tag.readTag(this.m_isInputStream); !(var2 instanceof ObjectEndTag); var2 = Tag.readTag(this.m_isInputStream)) {
  90.                if (var2 instanceof ParamTag) {
  91.                   this.m_smpoOutput.param(((ParamTag)var2).getName(), ((ParamTag)var2).getValue());
  92.                }
  93.             }
  94.  
  95.             this.m_smpoOutput.object_end();
  96.          } else {
  97.             while(!(var1 instanceof ObjectEndTag)) {
  98.                var1 = Tag.readTag(this.m_isInputStream);
  99.             }
  100.  
  101.          }
  102.       }
  103.    }
  104.  
  105.    public SiteMapParser(InputStream var1, SiteMapParserOutput var2) {
  106.       this.m_isInputStream = var1;
  107.       this.m_smpoOutput = var2;
  108.       this.m_properties = new Properties();
  109.    }
  110.  
  111.    public void run() {
  112.       this.parse();
  113.    }
  114. }
  115.